#ifndef STUDENT_TFACTORY_H
#define STUDENT_TFACTORY_H

#include "ESF_Student_t.h"
#include "FOH_Student_t.h"
#include <string>

using namespace std;

class Student_tImpl;

class Student_tFactory {
// Factory class for students, part of the bridge design pattern.
public:
	static Student_tImpl* CreateStudent_t(const string& Impl, const long & id ) {
		Student_tImpl* ptrStudent_t = 0;
  		if (Impl == "ESF")
			ptrStudent_t = new ESF_Student_t( id );
  		if (Impl == "FOH") 
			ptrStudent_t = new FOH_Student_t( id  );
		return ptrStudent_t;
	};
private:
	~Student_tFactory();
	Student_tFactory();
};

#endif